package nsu.edu.zsq.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import nsu.edu.zsq.bean.SchMajor;
import nsu.edu.zsq.bean.SchMajorExample;
import nsu.edu.zsq.param.MajorParam;

public interface SchMajorMapper {
    /**
     *
     */
    long countByExample(SchMajorExample example);

    /**
     *
     */
    int deleteByExample(SchMajorExample example);

    /**
     *
     */
    int deleteByPrimaryKey(Integer id);

    /**
     *
     */
    int insert(SchMajor record);

    /**
     *
     */
    int insertSelective(SchMajor record);

    /**
     *
     */
    List<SchMajor> selectByExample(SchMajorExample example);

    /**
     *
     */
    SchMajor selectByPrimaryKey(Integer id);

    /**
     *
     */
    int updateByExampleSelective(@Param("record") SchMajor record, @Param("example") SchMajorExample example);

    /**
     *
     */
    int updateByExample(@Param("record") SchMajor record, @Param("example") SchMajorExample example);

    /**
     *
     */
    int updateByPrimaryKeySelective(SchMajor record);

    /**
     *
     */
    int updateByPrimaryKey(SchMajor record);
    
    List<MajorParam> listMajorParam();

    /**
     * 通过专业id数组查找专业信息列表(主要用于批量删除添加日志)
     * @param majorIds 专业id数组
     * @return List<SchMajor>
     */
    List<SchMajor> listSchMajorByMajorIds(@Param("majorIds")int[] majorIds);
    
    /**
     * 通过专业代码，查找数据库该专业的记录数
     * @param majorNo 专业代码
     * @return int 记录数
     */
    int countByMajorNo(@Param("majorNo")String majorNo);
}